﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PetSystem
{
    public partial class frmPrincipal : Form
    {
        public frmPrincipal()
        {
            InitializeComponent();
        }

        private void cadastrarNovoToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void novoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms.OfType<frmPlanos>().Count() > 0)//Verifica se o formulário já está aberto
            {
                Form formulario = Application.OpenForms.OfType<frmPlanos>().Single(); //Obtém o formulário aberto
                formulario.BringToFront();//trás o formulário aberto pra frente
            }
            else
            {
                frmPlanos Formularioplano = new frmPlanos();
                Formularioplano.MdiParent = this;
                Formularioplano.Text = "Novo Plano";
                Formularioplano.Show();
            }
        }

        private void novoToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms.OfType<frmListaItens>().Count() > 0)//Verifica se o formulário já está aberto
            {
                bool formEncontrado = false;
                foreach (var formulario in Application.OpenForms.OfType<frmListaItens>().ToList())//É como um for que é executado dentro de uma coleção de itens do mesmo tipo que vai do primeiro item até o fim dele (seja o tamanho que for)
                {
                    if (formulario.Text.Contains("Animais"))
                    {
                        formulario.BringToFront();
                        formEncontrado = true;
                    }
                }
                if (formEncontrado == false)
                {
                    frmListaItens FormularioLista = new frmListaItens();
                    FormularioLista.Text += "Animais";
                    FormularioLista.MdiParent = this;
                    FormularioLista.Show();
                }
            }
            else
            {
                frmListaItens FormularioLista = new frmListaItens();
                FormularioLista.Text += "Animais";
                FormularioLista.MdiParent = this;
                FormularioLista.Show();
            }
        }

        private void novoToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            frmAnimais FormularioAnimal = new frmAnimais();
            FormularioAnimal.MdiParent = this;
            FormularioAnimal.Text = "Novo Animal";
            FormularioAnimal.Show();
        }

        private void listaDePlanosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms.OfType<frmListaItens>().Count() > 0)//Verifica se o formulário já está aberto
            {
                bool formEncontrado = false;
                foreach (var formulario in Application.OpenForms.OfType<frmListaItens>().ToList())//É como um for que é executado dentro de uma coleção de itens do mesmo tipo que vai do primeiro item até o fim dele (seja o tamanho que for)
                {
                    if (formulario.Text.Contains("Planos"))
                    {
                        formulario.BringToFront();
                        formEncontrado = true;
                    }
                }
                if (formEncontrado == false)
                {
                    frmListaItens FormularioLista = new frmListaItens();
                    FormularioLista.Text += "Planos";
                    FormularioLista.MdiParent = this;
                    FormularioLista.Show();
                }
            }
            else
            {
                frmListaItens FormularioLista = new frmListaItens();
                FormularioLista.Text += "Planos";
                FormularioLista.MdiParent = this;
                FormularioLista.Show();
            }
        }

        private void sairToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void novoToolStripMenuItem3_Click(object sender, EventArgs e)
        {
            Cliente FormularioCliente = new Cliente();
            FormularioCliente.MdiParent = this;
            FormularioCliente.Text = "Novo Cliente";
            FormularioCliente.Show();
        }

        private void listaClienteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms.OfType<frmListaItens>().Count() > 0)//Verifica se o formulário já está aberto
            {
                bool formEncontrado = false;
                foreach (var formulario in Application.OpenForms.OfType<frmListaItens>().ToList())//É como um for que é executado dentro de uma coleção de itens do mesmo tipo que vai do primeiro item até o fim dele (seja o tamanho que for)
                {
                    if (formulario.Text.Contains("Clientes"))
                    {
                        formulario.BringToFront();
                        formEncontrado = true;
                    }
                }
                if (formEncontrado == false)
                {
                    frmListaItens FormularioLista = new frmListaItens();
                    FormularioLista.Text += "Clientes";
                    FormularioLista.MdiParent = this;
                    FormularioLista.Show();
                }
            }
            else
            {
                frmListaItens FormularioLista = new frmListaItens();
                FormularioLista.Text += "Clientes";
                FormularioLista.MdiParent = this;
                FormularioLista.Show();
            }
        }
    }
}
